package org.example.eurekaopenfeignclient.controller;

// 导入必要的类
import org.example.eurekaopenfeignclient.service.Helloservice; // 引入自定义的 Feign 客户端服务接口
import org.springframework.stereotype.Service; // 用于声明控制器为 Spring Bean
import org.springframework.beans.factory.annotation.Autowired; // 用于自动注入依赖
import org.springframework.web.bind.annotation.RequestMapping; // 映射 HTTP 请求路径
import org.springframework.web.bind.annotation.RestController; // 表示该类是 REST 控制器（返回值直接作为响应体）

// @RestController 是 Spring MVC 的注解，结合了 @Controller 和 @ResponseBody
// 表示这个类中的每个方法返回的内容都会直接写入 HTTP 响应体中（而不是视图名称）
@RestController
public class HelloController {

    // 使用 @Autowired 自动注入 Helloservice 实例
    // Spring 会自动找到匹配的 Bean 并赋值给这个字段
    @Autowired
    private Helloservice helloservice;

    // @RequestMapping 将 "/hello" 路径映射到 hello() 方法
    // 默认支持所有 HTTP 方法（GET、POST 等），也可以指定 method 属性限制请求方式
    @RequestMapping("/hello")
    public String hello() {
        // 调用 Helloservice 的 hello() 方法，远程调用服务提供者
        return helloservice.hello();
    }
}
